#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source.  A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2015 Garrett D'Amore <garrett@damore.org>
#

#
# Definitions found in dirent.h
#
# Note that this header is not defined prior to the POSIX & XPG3
# specifications.  Therefore, applications which #include it in earlier
# environments may reasonably obtain their contents, although such use
# would not be conformant to those specifications.
#
# As a result, we only test the newer specifications.
#

#
# Types.
#
type |	DIR *		| dirent.h | XPG3+ POSIX+
type |	struct dirent	| dirent.h | XPG3+ POSIX+

#
# Values.
#

#
# Functions
#

func |	opendir								|\
	DIR *								|\
	const char *							|\
	dirent.h | POSIX+ XPG3+

func |	readdir								|\
	struct dirent *							|\
	DIR *								|\
	dirent.h | POSIX+ XPG3+

# We are not going to test the draft interface.
func |	readdir_r							|\
	int								|\
	DIR *; struct dirent *; struct dirent **			|\
	dirent.h | POSIX-1995+

func |	rewinddir							|\
	void								|\
	DIR * | dirent.h | POSIX+ XPG3+

func |	seekdir								|\
	void								|\
	DIR *; long							|\
	dirent.h | -POSIX+ XPG3+

func |	telldir								|\
	long								|\
	DIR *								|\
	dirent.h | -POSIX+ XPG3+
